/**
 * <p>Copyright (c) 2011 深圳市鹏途信息技术有限公司 </p>
 * <p>				   All right reserved. 		     </p>
 * 
 * <p>项目名称 ： 	东莞交通工程质量监督综合业务系统        </p>
 * <p>创建者   :	ce 
 * 
 * <p>描   述  :   CaseFlowBasic.java for com.pengtu.entity.business.detection    </p>
 * 
 * <p>最后修改 : $: 2011-9-17-下午03:51:22 v 1.0.0	 ce   $     </p>
 * 
*/

package com.pengtu.entity.business;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;

import com.pengtu.entity.IdEntity;
import com.pengtu.entity.project.ProjectInfo;

/**
 * 业务受理中的 流程基类;
 * CaseFlowBasic
 * 
 * 2011-9-17 下午03:51:22
 * 
 * @version 1.0.0
 * 
 */
@MappedSuperclass
public abstract class BasicCaseFlow extends IdEntity {
	/**
	 * 申请
	 */
	 public static final String STATUS_PREPARER = "01";
	 /**
	  * 受理
	  */
	 public static final String STATUS_AUDITOR = "03";
	 /**
	  * 审定
	  */
	 public static final String STATUS_VERIFIER = "04";
	 /**
	  * 签发
	  */
	 public static final String STATUS_SIGNER = "05";
	 
	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	private ProjectInfo projectInfo;//工程
	private String orgId;//申请单位
	
	private String applicationCode;//业务申请编号
	private String acceptionCode;//业务受理编号
	private Date acceptionDate;//业务受理时间
	private Date prepareDate;//申请时间
	private String preparer;//经办人
	
	private String view; // 意见  非持久化对象
	private String review;//审查汇总意见
	
	private String auditor;//负责人
	private Date auditDate;//审核时间
	private String auditview;//受理意见
	
	private String verifier;//审定人
	private Date verifyDate;//审定时间
	private String verifyview;//复核意见
	
	private String signer;//签发人
	private Date signDate;//签发时间
	private String signview;//签发意见
	
	private String status;//业务受理状态
	private String remark;//备注

	private String taskId;//业务ID，非持久化对象
	
	@ManyToOne(targetEntity=ProjectInfo.class)
	@JoinColumn(name="PROJID")
	public ProjectInfo getProjectInfo() {
		return projectInfo;
	}
	public void setProjectInfo(ProjectInfo projectInfo) {
		this.projectInfo = projectInfo;
	}

	@Column(name="ORGID")
	public String getOrgId() {
		return orgId;
	}
	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	
	@Column(name="ACCEPTIONCODE")
	public String getAcceptionCode() {
		return acceptionCode;
	}
	public void setAcceptionCode(String acceptionCode) {
		this.acceptionCode = acceptionCode;
	}
	@Column(name="APPLICATIONCODE")
	public String getApplicationCode() {
		return applicationCode;
	}
	public void setApplicationCode(String applicationCode) {
		this.applicationCode = applicationCode;
	}

	@Column(name="PREPAREDATE")
	public Date getPrepareDate() {
		return prepareDate;
	}
	public void setPrepareDate(Date prepareDate) {
		this.prepareDate = prepareDate;
	}

	@Column(name="PREPARER")
	public String getPreparer() {
		return preparer;
	}
	public void setPreparer(String preparer) {
		this.preparer = preparer;
	}

	@Column(name="ACCEPTIONDATE")
	public Date getAcceptionDate() {
		return acceptionDate;
	}
	public void setAcceptionDate(Date acceptionDate) {
		this.acceptionDate = acceptionDate;
	}

	@Column(name="AUDITOR")
	public String getAuditor() {
		return auditor;
	}
	public void setAuditor(String auditor) {
		this.auditor = auditor;
	}

	@Column(name="REVIEW")
	public String getReview() {
		return review;
	}
	
	@Transient
	public String getView() {
		return view;
	}
	public void setView(String view) {
		this.view = view;
	}
	public void setReview(String review) {
		this.review = review;
	}
	@Column(name="SIGNVIEW")
	public String getSignview() {
		return signview;
	}
	public void setSignview(String signview) {
		this.signview = signview;
	}
	@Column(name="AUDITVIEW")
	public String getAuditview() {
		return auditview;
	}
	public void setAuditview(String auditview) {
		this.auditview = auditview;
	}
	@Column(name="VERIFYVIEW")
	public String getVerifyview() {
		return verifyview;
	}
	public void setVerifyview(String verifyview) {
		this.verifyview = verifyview;
	}
	@Column(name="AUDITDATE")
	public Date getAuditDate() {
		return auditDate;
	}
	public void setAuditDate(Date auditDate) {
		this.auditDate = auditDate;
	}

	@Column(name="VERIFIER")
	public String getVerifier() {
		return verifier;
	}
	public void setVerifier(String verifier) {
		this.verifier = verifier;
	}

	@Column(name="VERIFYDATE")
	public Date getVerifyDate() {
		return verifyDate;
	}
	public void setVerifyDate(Date verifyDate) {
		this.verifyDate = verifyDate;
	}

	@Column(name="SIGNER")
	public String getSigner() {
		return signer;
	}
	public void setSigner(String signer) {
		this.signer = signer;
	}

	@Column(name="SIGNDATE")
	public Date getSignDate() {
		return signDate;
	}
	public void setSignDate(Date signDate) {
		this.signDate = signDate;
	}

	@Column(name="STATUS")
	public String getStatus() {
		return status;
	}
	public void setStatus(String status) {
		this.status = status;
	}

	@Column(name="REMARK")
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Transient
	public String getTaskId() {
		return taskId;
	}
	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}

}
